﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using SGRapidForm.Common;
using SGRapidForm.Permission.Entity;

namespace SGRapidForm.Permission.Service.Interface
{
    [ServiceContract(Namespace = "http://www.solutiongear.net/SGRapidForm/")]
    public interface IDeptService
    {
        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        bool Dept_Add(Dept dept);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        bool Dept_Delete(string keyid);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        bool Dept_BulkDelete(string keyids);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        bool Dept_Update(Dept dept);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        List<Dept> Dept_FilteredGetAll(String filterConditions);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        List<Dept> Notice_FilteredGetAll(String filterConditions);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        Dept Dept_GetByKeyid(string keyid);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        List<Dept> Dept_GetByUserKeyid(string userKeyid);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        List<Dept> Dept_GetUnmappedByUserKeyid(string userKeyid);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        List<Dept> Dept_GetDeptAll();
    }

}
